package br.edu.ufam.avaliacao

class DimensaoController {

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def index = {
        redirect(action: "list", params: params)
    }

    def list = {
        params.max = Math.min(params.max ? params.int('max') : 10, 100)
        [dimensaoInstanceList: Dimensao.list(params), dimensaoInstanceTotal: Dimensao.count()]
    }
    
    def show = {
        def dimensaoInstance = Dimensao.get(params.id)
        if (!dimensaoInstance) {
            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'dimensao.label', default: 'Dimensao'), params.id])}"
            redirect(action: "list")
        }
        else {
            List indicadores = Arrays.asList(dimensaoInstance.indicador.toArray());
            Collections.sort(indicadores,new IndicadorComparator());
            [dimensaoInstance: dimensaoInstance, indicadores:indicadores]
        }
    }
    private class IndicadorComparator extends Comparator<Indicador>{
        public int compare(Indicador ind1, Indicador ind2){
            return ind1.ordem.compareTo(ind2.ordem);
        }
    }
}
